IV.6.1.INTRODUCTION:
Pour les utilisateurs actuels des systèmes informatiques «grand public», la présence sur l'écran de leur
PC d'objets graphiques tels que les fenêtres, les icônes ou les barres de tâches semble aller de soi. Il
leur paraît tout naturel de pouvoir les manipuler, à l'aide d'une souris où directement en touchant un
écran tactile, d'ouvrir une fenêtre ou de lancer une application par un «double clic» sur une icône.
Pourtant, cette manière de gérer l'interface entre l'utilisateur et la machine ne date que du milieu
des années 1980. Elle à été imaginée par la firme Mackintosh (future APPLE), puis reprise par pratiquement
tous les créateurs de logiciels.
Les premiers systèmes informatiques étaient livrés sans écran ni souris (équipement qui n'existait d'ailleurs
pas): l'utilisateur ne disposait comme interface de commande que d'une «télétype», sorte de machine à écrire
sur le clavier de laquelle il pouvait saisir des commandes textuelle à destination du système d'exploitation
ou des applications. Les messages de l'ordinateur s'imprimaient sur un rouleau de papier (ou, plus tard sur
un écran), sous forme de lignes de texte.
IV.6.2.SHELL D'UN SYSTEME D'EXPLOITATION:
IV.6.2.1.DEFINITION:
On appelle SHELL d'un système d'exploitation un programme permettant à ce système d'acquérir des
commandes en provenance des utilisateurs humains et d'afficher des messages à destination de ces
utilisateurs. Un shell est donc un INTERFACE HOMME-MACHINE (I.H.M).
IV.6.2.2.FONCTIONNEMENT GLOBAL D'UN SHELL:
Un fois lancé, un shell est un processus comme un autre dont la vocation est de se mettre en attente
des commandes des utilisateurs, de lancer les handlers correspondant aux commandes reçues, puis
d'afficher les résultats de ces commandes ou des messages de signalisation. Des systèmes comme
UNIX acceptent que plusieurs shells soient lancés simultanément, ce qui permet à plusieurs utilisateurs
de travailler en même temps sur ces systèmes.
Le fonctionnement général d'un shell peut se résumer à l'algorithme suivant:
TANT QUE LE SHELL EST EN FONCTION:
- Il se met en attente de la réception des commandes en provenance de l'utilisateur
- LORSQU'IL RECOIT UNE COMMANDE:
- Il l'analyse (analyse syntaxique et sémantique)
- SI LA COMMANDE EST CORRECTE:
- Il active les {pilotes|handlers} nécessaires à l'exécution de cette commande
- En fin d'exécution, il récupère le compte-rendu d'exécution et l'affiche pour
l'utilisateur
- SINON:
- Il affiche un compte-rendu d'erreur pour l'utilisateur
- Il retourne en attente de la réception des commandes
IV.6.2.3.LES SHELLS EN LIGNES DE COMMANDE:
Dans ce type de shell, l'utilisateur utilise, pour communiquer avec le système d'exploitation, un LANGAGE
DE COMMANDE (appelé aussi LANGAGE DE SHELL). Ce langage, qui se présente sous forme textuelle, permet de
manipuler les différents objets du système (processus, fichiers, connexions, etc.) en activant les handlers
correspondants.
Commandes et réponses se font sous la forme de lignes de textes. Pour signaler qu'il est en attente de
commande, le système d'exploitation affiche sur l'écran un ou plusieurs caractères appelés «invite de
commande» (ou PROMP):
EXEMPLE (EN MODE CONSOLE DE RECUPERATION WINDOW):
- Dans la première ligne, c:\php4>) correspond à l'affichage de l'invite de commande. Ce prompt indique
ici que le répertoire courant est c:\php4. L'utilisateur tape alors la commande «dir» devant l'invite
de commande.
- Cette commande déclenche le listage du répertoire courant: les premières lignes donnent des indications
sur le disque dur, puis les fichiers et sous répertoires sont listés ligne par ligne. Chaque ligne
comprend: la date de création, l'heure de création, le volume en octets et le nom du fichiers ou du
répertoire.
- En fin d'affichage, le prompt est de nouveau affiché, pour signaler à l'utilisateur que le système
est prèt à recevoir une autre commande.
NOTA: La commande ls -l, tapée dans un shell de LINUX donne un résultat très similaire.
La commande tapée par l'utilisateur (ici, commande dir) déclenche l'activation d'un handler système.
Ce programme lance l'exécution d'un processus (dans l'exemple, c'est le processus dir, qui liste
le répertoire en cours). Les réponses qui s'affichent correspondent à des opérations de sortie de
données (lignes de caractères) effectuées par ce processus. Lorsqu'un processus est lancé dans un shell,
celui-ci devient pour ce processus un espace de communication avec l'utilisateur.
IV.6.2.4.LES SHELLS GRAPHIQUES:
PRINCIPE:
Avec ce type de shell, l'utilisateur manipule essentiellement des «objets graphiques» sensés représenter
les objets du système. Les objets graphiques de base sont les ICÔNES et les FENÊTRES.
La plupart des commandes sur ces objets sont effectuées au moyen de la souris, par l'intermédiaire de 4
actions simples, que l'on peut présenter dans le tableau suivant:
ACTION | EFFET |
Pointer l'objet + cliquer bouton gauche + relacher |
L'objet est sélectionné. Il passe en avant plan du bureau |
Pointer l'objet+cliquer bouton gauche + déplacer le curseur souris + relacher |
L'objet est déplacé en même temps que le curseur souris (c'est la fonction «drag
and drop»). |
Pointer l'objet + clic bouton droit |
Un menu à option s'ouvre. L'utilisateur peut sélectionner, à l'aide de la souris,
une commande à exécuter sur l'objet (pour lancer son l'exécution, pointer+cliquer
bouton gauche). |
Pointer l'objet + double clic bouton gauche |
Suivant la nature de l'objet pointé, le système d'exploitation va lancer le processus
de traitement que le système d'exploitation associe à ce type d'objet (si l'objet est un
répertoire, il va ouvrir une fenêtre pour l'afficher, s'il s'agit d'un document, il va
ouvrir un traitement de texte, s'il s'agit d'un fichier exécutable, il va lancer son
exécution, etc.
Si aucun traitement n'est associé à l'objet, certains systèmes d'exploitation ouvrent une
autre fenêtre qui permettra à l'utilisateur de choisir ce traitement, c'est à dire
d'associer un logiciel de traitement au type d'objet en question (fenêtre « ouvrir avec...»
de windows). |
Le principal avantage de ce type de shell est que son utilisation est intuitive. Il ne nécessite
donc que très peu d'apprentissage. Un inconvénient est que l'utilisateur n'a pas forcément une conscience
précise des conséquences des actions qu'il déclenche.
LES ICONES:
Une icône peut représenter tout objet informatique géré par le système d'exploitation. Il
peut s'agir:
- D'un fichier.
- D'un répertoire.
- D'un RACCOURCI vers un fichier ou un répertoire.
- D'un périphérique matériel.
- D'une connexion réseau.
- etc.
REMARQUE:
Un raccourci vers un fichier ou un répertoire est un fichier particulier qui contient uniquement
le chemin d'accès vers le fichier ou le répertoire en question. Une action quelconque sur un
raccourci produit le même effet que sur l'objet pointé (sauf la duplication ou la suppression).
Le volume d'un raccourci est donc en général beaucoup plus faible que celui du fichier ou du
répertoire qu'il pointe. De ce fait, utiliser un raccourci pour atteindre un fichier depuis un
répertoire donné est bien plus économique en terme d'espace disque que de recopier le fichier dans
le répertoire.
L'image et le nom associés à l'icône permettent à l'utilisateur de reconnaître intuitivement le
type d'objet dont il s'agit. Sinon, la commande pointer+clic droit sur l'icône permet d'ouvrir
un menu listant les actions possibles sur ce type d'objet. Dans cette liste, l'option «propriétés»
permet d'accéder à tous les renseignements nécessaires sur le type et les propriétés spécifiques
de cet objet.
NOTION DE BUREAU:
La plupart des shells graphiques supportent la notion de BUREAU. Du point de vue graphique, le bureau
est une partie de l'écran dans laquelle apparaîssent sous forme d'icônes les objets auquel un
utilisateur peut accéder et qu'il veut garder «à portée de main» (répertoires, fichiers, applications, etc.).
Du point de vue informatique, un bureau est simplement un RÉPERTOIRE associé à un utilisateur particulier.
Lorsque cet utilisateur se connecte au système d'exploitation, celui-ci affiche sur l'écran (sous forme
d'icônes) les différents objets contenus par ce répertoire. L'utilisateur a la possibililité de
modifier le contenu du répertoire BUREAU (de la même manière que n'importe quel autre répertoire) afin de
particulariser son contenu et son aspect. Il y a donc autant de répertoire bureau qu'il y a d'utilisateur
déclaré sur la machine.
LES OBJETS FENETRES:
Une FENÊTRE est une zones d'écran allouée à la communication avec un processus particulier. En
général, lorque le système d'exploitation lance un processus, il lui attribue immédiatement une fenêtre.
Il existe pourtant des processus qui s'exécutent «en arrière plan», sans utiliser de fenêtre. Ce sont
les processus utilitaires du système d'exploitation, appelés SERVICES sous WINDOWS ou DEAMONS sous
LINUX/UNIX.
Les fenêtres peuvent se superposer, permettant de simuler l'empilement de documents sur un bureau.
L'utilisateur peut également déplacer les fenêtres sur l'écran, modifier leur taille, l'ordre de leur
empilement, les fermer et les ouvrir, etc, grâce au logiciel GESTIONNAIRE DE FENÊTRES (ou WINDOW MANAGER)
intégré au shell.
Une seule des fenêtres affichée sur l'écran est dite «ACTIVE», c'est à dire capable de prendre en compte
les intéractions avec l'utilisateur. Le fait de cliquer sur une fenêtre la rend active au détriment de
l'ancienne fenêtre active.
Certaines fenêtres sont dites de type «CONSOLE». Dans ce cas, elles ne peuvent saisir ou afficher que
du texte. Elles permettent d'afficher un shell en ligne de commande à l'intérieur d'un shell graphique.
Sous window, ce type de fenêtre s'affiche par le menu démarrer, sous menu exécuter, commande cmd. Sous
Linux ou Unix, il faut ouvrir une fenêtre de type console.
D'autres fenêtres sont dites «GRAPHIQUES», car elles permettent d'afficher les objets graphiques
caractéristiques des interfaces homme-machine graphiques (boutons, images, etc.). L'image suivante
représente l'affichage de trois fenêtres:
- La fenêtre HDD (C:) est une fenêtre graphique listant le répertoire racine du disque dur C de
l'ordinateur.
- La fenêtre graphique PHP4 est le résultat du double clic sur l'icône php4, dans la fenêtre
précédente. Cette action a provoqué l'affichage dans la deuxième fenêtre du contenu du répertoire
c:/php4. Nous pouvons constater que le contenu listé est le même que celui qui a été obtenu plus
haut par l'utilisation de la commande en ligne dir.
- Enfin, la fenêtre c:/WINDOWS/system32/cmd.exe est une fenêtre console qui a été obtenue en
utilisant le menu DEMARRER>Executer>cmd>cd \php4\dir. Nous voyons que la liste affichée dans cette
fenêtre est également la même que celle obtenue par le shell en ligne.